<html>
    <head>
        <TITLE>Artistic Style - Release Notes</TITLE>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <meta name="CREATED" content="19981123;1064600">
        <meta name="CHANGEDBY" content="Jim Pattee">
        <meta name="CHANGED" content="19981123;1091900">
        <meta name="GENERATOR" content="Microsoft FrontPage 6.0">
        <style> <!-- h1 {color:#0000A0; text-align:center; font-style:italic; font-size:200%;}
	h2 {color:#0000A0;}
	h3 {color:#0000A0;}
	code {color:#0000A0; font-size:larger;}
	--></style>
    </head>
    <body>
        <H1>Artistic Style Release Notes</H1>
        <P>&nbsp;</P>
        <blockquote>
        
            <H3>Artistic Style 1.19 (July 2006)</H3>
            <UL>
                <LI>
				Add unpad=paren option.<LI>
				Always pad paren headers (e.g. 
				'if', 'for', 'while').<LI>
				Fix problem of pad=oper working different if pad=paren is 
				declared.<LI>
				Add 
				additional tests to distinguish the multiplication 
				operator from pointers.<LI>
				Fix padding parens before a member access pointer (-&gt;).<LI>If space padding has changed, 
				move end-of-line comments to the original column, if possible.<LI>Move potential 
				calculation decision to outside of operator padding function.<LI>Fix duplication of last line of source if a final endline is not present.
				<LI>Fix class initializer not indented on last line if bracket is attached.<LI>Fix identification of templates contained in parens.<LI>Fix one line block occurring before end of class.<LI>Fix line added after one line block with bracketFormatMode = 
				NONE_MODE.<LI>Add needed variables to ASBeautifier copy constructor.<LI>Trim end of line for multi-line comments.<LI>Add a breakLine before paren checks (needed for unpad=paren 
				option).<LI>Add trace file to ASFormatter.<LI>Move formatting 
				message from end to beginning of formatting.<LI>Move the building 
				of vectors to ASResource.&nbsp; Vectors for classes ASBeautifier 
				and ASFormatter should now have the same values.<LI>Move 
				debugging variable inLineNumber from ASFormatter to 
				ASBeautifier.<LI>Bypass char processing for UTF8 characters in 
				ASBeautifier.<LI>Move switchVariables struct from ASEnhancer to the header file.
				<LI>Remove preprocessorHeader vector (not used).<LI>Remove variable isInConst 
				(not used).<LI>Remove commented-out 
				code.</UL>
        
            <H3>Artistic Style 1.18 (June 2006)</H3>
            <UL>
                <LI>
                    The following changes were made for the option pad=oper:
                    <UL>
                        <LI>
                            Does <STRONG>not</STRONG>
                        remove extra spaces from formatted expressions.
                        <LI>
                            Does <STRONG>not</STRONG>
                        pad opening parens on the outside.
                        <LI>
                            Does <STRONG>not</STRONG>
                        remove leading spaces from multi-line comments.
                        <LI>
                            Does <STRONG>not</STRONG>
                        pad negative numbers.
                        <LI>
                            Does <STRONG>not</STRONG>
                        add a space to the end of preprocessor directives.
                        <LI>
                            Will <STRONG>not</STRONG> pad operators inside block 
							parens [].</LI>
                    </UL>
                <LI>
                    The following changes were made for the option pad=paren:
                    <UL>
                        <LI>
                            Formats correctly <strong>with</strong> or <strong>without</strong>
                        pad=oper.
                        <LI>
                            Does <strong>not</strong>
                        add a space for each additional run if pad=oper is not used.
                        <LI>
                        Outside of opening paren is padded correctly.
                        <LI>
                        Inside of closing paren is padded correctly.
                        <LI>
                            Does <strong>not</strong>
                        pad block parens [].
                        <LI>
                            Added short option P, previously used for pad=all.</LI>
                    </UL>
                <LI>
                Added new options pad=paren-out (d) and pad=paren-in (D).
                <LI>
                Removed option pad=all.
                <LI>
                Add short option V for convert-tabs.
                <LI>
                Added bounds checking to options containing parameters.
                <LI>
                Display a message when a default options file is used.
                <LI>
                Replaced IS_PARAM_OPTION(S) macros with overloaded isParamOption. Fixed compare 
                problem with short param options.
                <LI>
                    Fix EOF problem with default options file.</LI></UL>
            <H3>Artistic Style 1.17 (May 2006)</H3>
            <UL>
                <LI>
                    The following changes were made for processing bracketFormatMode = NONE_MODE:
                    <UL>
                        <LI>
                        Removed the function isFormattingEnabled() and always performed the formatting.
                        <LI>
                        Removed the formatting bypass for NONE_MODE.
                        <LI>
                        Fix brackets always being broken in the 2 cases where NONE_MODE formatting was 
                        done.
                        <LI>
                        Added new functions to support the processing of NONE_MODE brackets.
                        <LI>
                            Made other minor changes necessary for correct NONE_MODE processing.</LI>
                    </UL>
                <LI>
                Changed indent cases option to indent the entire case block.
                <LI>
                Changed to output Windows or Linux line endings.
                <LI>
                Added ASEnhancer module for case statement indenting.
                <LI>
                Corrected errors in identifying options indent=tab=, and force-indent=tab=.
                <LI>
                Corrected errors in identifying options min-conditional-indent=, and 
                max-instatement-indent=.
                <LI>
                Improved error and information messages.
                <LI>
                Added capability to compile as a console program, shared library, or static 
                library.
                <LI>
                Fixed problem with semicolons and parens being put on a line by themselves.
                <LI>
                Fixed spaces being added before a line comment.
                <LI>
                Fixed blank line added after some preprocessor statements.
                <LI>
                Fixed preprocessor statements not being trimmed.
                <LI>
                Do not indent line comments that begin in column 1 or 2.
                <LI>
                Fixed indentation problem with ending }; of class statements.
                <LI>
                Changed nextLine() function to eliminate char buffer limits.
                <LI>
                Moved Windows default options file to %USERPROFILE%.
                <LI>
                Removed NEW operators to prevent memory leaks.
                <LI>
                Fixed space before the semicolon in return ; statement.
                <LI>
                Fixed extra space that was sometimes added when pad operators was used.
                <LI>
                Removed string parameter from IS_PARAM_OPTION.
                <LI>
                Added forward declaration of parseOption() to eliminate compile error.
                <LI>
                Added input line number counter for debugging.
                <LI>
                Add statements to check for markers if break-blocks or break-blocks=all is 
                used.
                <LI>
                Remove warnings for signed/unsigned mismatch.
                <LI>
                Removed COMPARE macro and used string compare.
                <LI>
                Removed compiler_defines.h.
                <LI>
                    Removed USES_NAMESPACE declaration.</LI>
            </UL>
            <H3>Artistic Style 1.16</H3>
            <UL>
                There was no release 1.16.</UL>
            <H3>Artistic Style 1.15.3 (7&nbsp;March 2002)</H3>
            <UL>
                <LI>
                    <DIV>
                        <DIV>Bug fix in handling of brackets after line-comments.</DIV>
                    </DIV>
                <LI>
                    <DIV>
                        <DIV>Bug fix: C# add/remove event property headers now properly formatted.</DIV>
                    </DIV>
                </LI>
            </UL>
            <H3>Artistic Style 1.15.2 (2&nbsp;March 2002)</H3>
            <UL>
                <LI>
                    <DIV>Bug fixes in exception handling phrases, e.g. multiple catches and 
                        try..finally.</DIV>
                </LI>
            </UL>
            <H3>Artistic Style 1.15.1 (2&nbsp;March 2002)</H3>
            <UL>
                <LI>
                    <DIV>Bug fix: C# properties are now formatted properly.</DIV>
                </LI>
            </UL>
            <H3>Artistic Style 1.15.0 (2&nbsp;March 2002)</H3>
            <UL>
                <LI>
                    <DIV>Added support for C#.</DIV>
                <LI>
                    <DIV>Artistic Style is now licensed only under the GNU Public License (GPL).</DIV>
                <LI>
                    <DIV>Compilation under G++ 3.0 now works properly.</DIV>
                <LI>
                    <DIV>Bug fix: Opening brackets that appear at the beginning of a line immediately 
                        after an empty line comment are now handled properly, and not appended as part 
                        of the line comment.</DIV>
                <LI>
                    <DIV>Bug fix: Brackets inside comments are now not mis-indented within the comment.</DIV>
                </LI>
            </UL>
            <P>
                <H3>Artistic Style 1.14.1 (2&nbsp;June 2001)</H3>
            <P></P>
            <UL>
                <LI>
                    <DIV>Bug fix: : '&lt;' and '&gt;' symbols within template&nbsp;declarations (e.g. 
                        'foo&lt;bar*, xoo&gt;') are now left unpadded in the padding modes.</DIV>
                <LI>
                    <DIV>Bug fix: Fixed false recognizing of headers within larger words (e.g. 'catch' 
                        in 'gcatch').</DIV>
                </LI>
            </UL>
            <H3>Artistic Style 1.14.0 (1&nbsp;June 2001)</H3>
            <UL>
                <LI>
                    <DIV>Bug fix: Fixed indentation of statements within preprocessor '#if...' 
                        statements.</DIV>
                <LI>
                    <DIV>Bug fix: Templates are now not broken from their bodies.</DIV>
                <LI>
                    <DIV>Bug fix: '&lt;' and '&gt;' symbols within template definitions (e.g. 
                        'template&lt;class T&gt;') are now left unpadded in the padding modes.</DIV>
                </LI>
            </UL>
            <H3>Artistic Style 1.13.8 (13 April 2001)</H3>
            <UL>
                <LI>
                    <DIV>Bug fix: Fixed indentation of multiple nested non-block brackets, such as in 
                        multi bracketed static array declarations.</DIV>
                </LI>
            </UL>
            <H3>Artistic Style 1.13.7 (6 April 2001)</H3>
            <ul>
                <li>
                    <div>
                        New option:'--force-indent=tab=#' (or 'T#') instructs astyle to indent using 
                        tabs in all the pre-statement white space, including areas astyle's 
                        '--indent=tab' prefers to indent using spaces, such as white space in 
                        multi-line statements.</div>
                <li>
                    <div>
                        Bug fix: Fixed unwanted empty line insertions between empty blocks (e.g. '{}') 
                        and closing brackets that come immediately after them.</div>
                <LI>
                    <DIV>Bug fix: Fixed unwanted empty line insertions immediately after colons (e.g. 
                        'default:', 'label:', ...)</DIV>
                </LI>
            </ul>
            <h3>
                <div>Artistic Style 1.13.6 (24 January 2001)</div>
            </h3>
            <UL>
                <LI>
                    <DIV>Bug fix: Preprocessor lines now remain unpadded in padding modes.</DIV>
                </LI>
            </UL>
            <H3>Artistic Style 1.13.5 (24 January 2001)</H3>
            <UL>
                <LI>
                    <DIV>Bug fix: Fixed the insertion of phantom empty lines immediately after {} 
                        blocks.</DIV>
                <LI>
                    <DIV>Bug fix: Bare open brackets ('{') with no preceding headers are now broken 
                        appropriately from their preceding code lines in the 'attach' and 'linux' 
                        bracketmodes.</DIV>
                <LI>
                    <DIV>Bug fix: Fixed operator recognition for long operators such as '&gt;&gt;=', 
                        '&lt;&lt;= '.</DIV>
                </LI>
            </UL>
            <H3>Artistic Style 1.13.4 (24 January 2001)</H3>
            <UL>
                <LI>
                    <DIV>Bug fix: L" unicode strings are now handled properly in padding modes.</DIV>
                <LI>
                    <DIV>Bug fix: Fixed the padding around '-' operators (which went sour somewhere in 
                        the past).</DIV>
                <LI>
                    <DIV>Bug fix: Fixed the handling of exponent numbers (e.g. 12.2e+2) in padding 
                        modes. The fix enables 'e+' to be regarded as part of the exponent.</DIV>
                </LI>
            </UL>
            <H3>Artistic Style 1.13.3 (23 January 2001)</H3>
            <UL>
                <LI>
                    <DIV>Line that contain both headers and their following non-header code (e.g. 'if 
                        (isFoo) doBar();') are now broken by default into multiple lines. To keep these 
                        lines as single lines, use '--one-line= keep-statements'.</DIV>
                <LI>
                    <DIV>Added the new option '--break-elseifs' which breaks 'else if()' statements 
                        into multiple lines.</DIV>
                <LI>
                    <DIV>The option block breaking options now works properly with the padding options.</DIV>
                <LI>
                    <DIV>Various minor bug fixes.</DIV>
                </LI>
            </UL>
            <H3>Artistic Style 1.13.2 (21 January 2001)</H3>
            <UL>
                <LI>
                    <DIV>Added the new option '--brackets=break-closing-headers'. When this option is 
                        added to either '--brackets=attach' or '--brackets= linux', astyle breaks 
                        closing headers (e.g. 'else', 'catch') from their preceding closing brackets.</DIV>
                <LI>
                    <DIV>'--break-blocks' and '--break-blocks= all' now correctly handle blocks that 
                        appear immediately before closing brackets, and do not append empty lines 
                        between them and the closing brackets.</DIV>
                </LI>
            </UL>
            <H3>Artistic Style 1.13.0 (27 September 1999)</H3>
            <ul>
                <li>
                Moved back to odd-minor-numbered development versions, and even-minor-numbered 
                stable versions.
                <li>
                Added the new option '--break-blocks' which breaks apart unrelated blocks, 
                labels, classes, etc.
                <li>
                Added the new option '--break-blocks=all' which also breaks apart blocks of 
                closing headers, such as 'else', 'catch', etc.
                <li>
                Fixed indentation handling of labels and class-definition identifiers such as 
                'public:', 'protected:', ... (thanks to Daryn Adler for his patch)
                <li>
                Fixed indentation of nested class definitions. (thanks to Daryn Adler for his 
                patch)
                <li>
                    Added the new option '--indent-preprocessor' which (surprisingly) tries to 
                    reindent C/C++ preprocessor macro lines. Astyle should do an pretty nice 
                    indentation job if the macro code is sane, but don't expect miracles for horrid 
                    macro definitions...</li></ul>
            <h3>Artistic Style 1.11.6&nbsp;(27 September 1999)</h3>
            <ul>
                <li>
                    Improved indentation of lines containing single-line blocks.</li>
            </ul>
            <h3>Artistic Style 1.11.5&nbsp;(25 September 1999)</h3>
            <ul>
                <li>
                    Improved the bug fix for a 'const' keyword bug which resulted in wrong 
                    indentation of methods that are declared const.</li>
            </ul>
            <h3>Artistic Style 1.11.4&nbsp;(18 September 1999)</h3>
            <ul>
                <li>
                Improved handling of single colons (':') in class headers, e.g. class Foo : 
                public Bar { ... }
                <li>
                    Improved handling of single colons (':') in method (constructor) headers, e.g. 
                    Foo::Foo(int a) : Bar(a)</li>
            </ul>
            <h3>Artistic Style 1.11.3&nbsp;(16 September 1999)</h3>
            <ul>
                <li>
                    Fixed a serious bug in the formatting of brackets, introduced in 1.11.2.</li>
            </ul>
            <h3>Artistic Style 1.11.2&nbsp;(10 September 1999)</h3>
            <ul>
                <li>
                Fixed an indentation bug in statements that contain the 'const', that resulted 
                in wrong indentation of array blocks that where declared const. (Thanks 
                Daniel!)
                <li>
                Fixed an indentation bug that could arise in lines that appear immediately 
                after several preprocessor commands. (Thanks Daniel!).
                <li>
                Fixed a bug that inserted an empty line after closing brackets if a comment 
                appeared immediately prior to the closing bracket. (Thanks Ed!)
                <li>
                    Fixed a bug that eliminated empty lines between closing brackets and 
                    immediately following opening brackets. (Thanks Ed!)</li>
            </ul>
            <h3>Artistic Style 1.11.1&nbsp;(3 September 1999)</h3>
            <ul>
                <li>
                    Fixed a bug that inserted an empty line at the begining of source files.
                </li>
            </ul>
            <h3>Artistic Style 1.11.0&nbsp;(3 September 1999)</h3>
            <ul>
                <li>
                Astyle now filters out line-feeds ('\r') before begining to parse lines. This 
                should take care of bizarre formatting that existed when moving source files 
                from Windows (which breaks lines with a linefeed AND newline ("\r\n") to unix 
                (which breaks lines only with newlines).
                <li>
                The "struct", "static" and "synchronized" keywords are now finally handled 
                correctly in both the contexts of block headers AND simple keywords.
                <li>
                Better treatment of precompiler lines that end with backslashes, and the lines 
                that immediately follow them.
                <li>
                The '--indent-classes' (or '-C') option now works correctly (again...).
                <li>
                    Series of short command-line options (e.g. "-b -s4 -C") are now parsed 
                    correctly.</li>
            </ul>
            <h3>Artistic Style 1.10.4&nbsp;(27 July 1999)</h3>
            <ul>
                <li>
                    Fixed a MAJOR bug (inserted in 1.10.3) that resulted wrong handling of 
                    double-colons ('::') in C++.
                </li>
            </ul>
            <h3>Artistic Style 1.10.3&nbsp;(24 July 1999)</h3>
            <ul>
                <li>
                Fixed a bug (inserted yesterday) that resulted in unwanted line breaks before 
                closing-brackets.
                <li>
                Fixed a bug in the handling of 'static' blocks in java.
                <li>
                Added the new option '--indent-cases' (or '-K') for indenting 'case XXX:' lines 
                so they are flush with their following code lines.
                <li>
                    Added the new option '--fill-empty-lines' (or '-E') which fills empty lines 
                    with the white-space of their previous line.
                </li>
            </ul>
            <h3>Artistic Style 1.10.2&nbsp;(23 July 1999)</h3>
            <ul>
                <li>
                    Fixed a series of related bugs that resulted in certain cases of lacking line 
                    breaks after close-brackets, and colons. Thanks Jeroen!</li>
            </ul>
            <h3>Artistic Style 1.10.1&nbsp;(18 July 1999)</h3>
            <ul>
                <li>
                    Fixed a bug (introduced in astyle 1.10.0) that can result in missing line 
                    breaks before closing brackets if they appear immediately after comments. 
                    Thanks Larry!</li>
            </ul>
            <h3>Artistic Style 1.10.0&nbsp;Release (14 July 1999)</h3>
            <ul>
                <li>
                    Improved handling of empty bracket blocks ( e.g.{ } ). Thanks Michael!</li>
            </ul>
            <h3>Artistic Style 1.10.0&nbsp;Prerelease (4 July 1999)</h3>
            <ul>
                <li>
                Fixed a bug in the in-statement indentation algorithm which resulted in 
                sub-optimal indentation of multiple-line conditional statements that 
                immediately follow headers such as 'if', 'else if', 'while', etc... As a 
                result, the current in-statement indentation is finally what it should have 
                been long ago - MUCH better then in the last stable versions.
                <li>
                The "linux" bracket style (in which definition brackets are broken while code 
                brackets are attached) has been fixed, and should finally work correctly.
                <li>
                Artistic Style can now parse both C/C++ and Java files in the same command. 
                Unless a specific language mode is specified (e.g. --style=java or --style=c), 
                astyle will now automatically set the language mode according to each file's 
                suffix (java mode for the '.java' suffix , c mode&nbsp; otherwise).
                <li>
                Multiple statements in a single line (e.g. aaa; bbb; fff;) are now broken up by 
                default.
                <li>
                    Added the option '<strong>--one-line=keep-statement</strong>s' (or '<strong>-o</strong>') 
                that keeps multiple statements in a single line attached, thus countering the 
                default break detailed above.
                <li>
                    Changed the option previously called '<strong>--keep-one-line-blocks</strong>' 
                    to '<strong>--one-line=keep-blocks</strong>', for similarity with the new 
                option above.
                <li>
                    Changed the short option name of the option '-<strong>-errors-to-standard-output</strong>' 
                    from '<strong>-o</strong>' to '<strong>-X</strong>'.
                <li>
                    Up to now, Artistic Style always inserted a minimal indent of <strong>t</strong>wice 
                    the current selected indent size<strong> </strong>inside multi-line conditional 
                    headers ('if', 'while' ...), so that it would be clear where the headers end 
                    and the code after them begins. The current version adds the option '<strong>--min-conditional-indent=#</strong>' 
                    (or '<strong>-m#</strong>') that sets the absolute minimal indent between 
                    conditional headers and their multiple-line conditional statements. If this 
                    option is not specified, the default indent remains <strong>twice the current 
                        selected indent size</strong>.<br>
                    For example, This option should come very handy in code that already has 
                    brackets after EVERY conditional statement (even if just one line is in that 
                    bracket...) - in such a case, it would be wise to set <strong>--min-conditional-indent=0
                    </strong>
                since the brackets already make it clear where the header ends and the code 
                begins...
                <li>
                    Added the ability to set the assumed tab size when in '<strong>--indent-tab</strong>' 
                    mode by using '<strong>--indent-tab=#</strong>' or '<strong>-t#</strong>' and 
                    replacing the <strong>#</strong> with the wanted size. If the size is not 
                    specified, the size of each tab is assumed to be 4 spaces long.</li>
            </ul>
            <h3>Artistic Style 1.8.2&nbsp;(18 March 1999)</h3>
            <ul>
                <li>
                Fixed pointer handling problems in ASBeautifier that led to crashes when 
                parsing preprocessor commands.
                <li>
                Fixed the problem in locating the default options file in the directory pointed 
                to by $HOME or %HOMEPATH% when these system variables do not contain an '/' (or 
                '\' ...) at their end.
                <li>
                Fixed inverse insertion of spaces vs. tabs when in -t mode. (Thanks Brian!)
                <li>
                    Got rid of those pesky C4786 warnings when compiling under Visual C++ (Thanks 
                    John!)</li>
            </ul>
            <h3>Artistic Style 1.8.1&nbsp;(9 March 1999)</h3>
            <ul>
                <li>
                    Changed the '--style=k&amp;r' option to '--style= kr' , so that linux/unix 
                    machines don't misinterpret the '&amp;' as a background processing command.</li>
            </ul>
            <h3>Artistic Style 1.8.0&nbsp;(3 March 1999)</h3>
            <ul>
                <li>
                    Added support for predefined styles. Current supported styles are: <strong>ansi, 
                        k&amp;r, linux, gnu, java</strong>. these can be set by using 
                '--style=THESTYLE' (e.g. '--style=linux').
                <li>
                    Added '--indent-blocks' (or -G) option, which <strong>adds indentation to entire 
                        blocks</strong>, including their brackets, in similar fashion to the 
                standard gnu style.
                <li>
                    Added option '--brackets=linux' (or '-l') which <strong>breaks definition-block 
                        brackets, but attaches command-block brackets</strong>.
                <li>
                Padding can now be set separately for operators alone('-p' or '--pad=oper'), 
                parentheses alone ('--pad=paren) or both ('-P' or '--pad=all').
                <li>
                    Artistic Style looks for a default options file in the following order:<br>
                    1. The contents of the <strong>ARTISTIC_STYLE_OPTIONS</strong> environment 
                    variable if it exists.<br>
                    2. The file called .astylerc in the directory pointed to by the <strong>HOME</strong>
                    environment variable ( i.e. <strong>$HOME/.astylerc</strong> ).<br>
                    3. The file called .astylerc in the directory pointed to by the <strong>HOMEPATH</strong>
                    environment variable ( i.e. <strong>%HOMEPATH%\.astylerc</strong> ).<br>
                If a default options file is found, the options in this file will be parsed 
                BEFORE the command-line options. Options within the default option file may be 
                written without the preliminary '-' or '--'. Indentation within #if , #else and 
                #endif precompiler commands now works correctly even if the program lines 
                between these precompiler commands contain non-pared brackets.
                <li>
                    Improved handling of labels (e.g. 'exit:'). By default, labels are now flushed 
                    completely to the left. Labels can also be indented to one indent LESS than 
                    current standard indentation by using the new option '--indent-labels' (or 
                    '-L') .
                <li>
                Fixed handling of the 'operator' keyword when it is preceded by a non space 
                character (such as '&amp;' or '*').
                <li>
                Fixed wrong bracket handling after 'throws' statements.
                <li>
                Fixed wrong indentation of single-line blocks. These where indented 1 indent to 
                much.
                <li>
                Fixed wrong indentation of headers in internal classes (java mode). These where 
                indented 1 indent to little.
                <li>
                The option ' --errors-to-standard-output' now has the one-letter option '-o'.
                <li>
                    Fixed bug which resulted in an unneeded indent in function-declarations in 
                    which function-variables are declared before the function declaration and are 
                    preceded by the 'static' keyword. Thanks Scott.
                </li>
            </ul>
            <h3>Artistic Style 1.6.0&nbsp;&nbsp; (5 January 1999)</h3>
            <ul>
                <li>
                Fixed zero indentation that resulted when a '-suffix' option was set after a 
                '--indent=spaces' (or '-s') option..
                <li>
                Wrong options are now announced.
                <li>
                    Changed default indentation to NOT automatically indent class blocks and switch 
                    blocks. Instead, the new options '--indent-classes' (or '-C') and 
                    '--indent-switches' (or '-S') should be used. The option '--indent-switches' 
                    replaces the old option '--flush-switches'.</li>
            </ul>
            <h3>Artistic Style 1.4.1&nbsp;&nbsp; (4 January 1999)</h3>
            <ul>
                <li>
                Fixed ability to write options without the preceding '--' in the default 
                options file.
                <li>
                Added one-letter options to most options that had only long-options in version 
                1.4.0 .
                <li>
                    Added a '-v' or '--version' option that writes the current Artistic Style 
                    version.</li>
            </ul>
            <h3>Artistic Style 1.4.0&nbsp;&nbsp; (3 January 1999)</h3>
            <ul>
                <li>
                    <strong>MAJOR NEW CHANGE IN THE FORMAT OF OPTIONS:</strong><br>
                    Options are now either <strong>short one-letter options</strong> starting with 
                    '-', or <strong>long multi-letter options</strong> starting with '--'. The 
                    Short one-letter options MAY BE ATTACHED TOGETHER. Thus, writing '-bps4' is the 
                    same as writing '-b -p -s4'.<br>
                Many options that have up to now had a 2 letter format now retain only their 
                long format. I truly believe that the combination of attached-one-letter 
                options PLUS a default option's file containing long-letter-options related to 
                style will be much easier to work with than the previous setup.
                <li>
                    Added support for <strong>a default options file</strong> (pointed to by the <strong>
                        ARTISTIC_STYLE_OPTIONS environment variable</strong>).
                <li>
                Changed downloading method from the server. From now, there will be specific 
                directories containing the latest stable sources, stable binaries, and 
                development sources.
                <li>
                Space padding ('-p' or '--pad') now works correctly (1) around semicolons and 
                commas, (2) between headers that require parentheses after them (such as 'if', 
                'while'...)and those parentheses, and (3) after parentheses (unless immediately 
                followed by a ';' or ',' or '.') .
                <li>
                From now on, namespace blocks are NOT indented by default. To indent namespace 
                blocks use the new '--indent-namespaces' option.
                <li>
                Added options '--errors-to-standard-output' for redirection of standard-error 
                to standard-output from within Artistic Style, and '--suffix=' for specifying a 
                suffix other than '.orig' to append to original filenames..
                <li>
                    Corrected indentation of 'default' in switch statements. (Up to now, this only 
                    worked correctly in java mode...).
                </li>
            </ul>
            <h3>Artistic Style 1.2.0&nbsp;&nbsp; (19 December 1998)</h3>
            <ul>
                <li>
                Artistic Style 1.2.0 is the first stable result of a new version numbering, in 
                which development versions are numbered with an odd minor number (such as 
                1.1.x), and stable versions are numbered with an even number (1.2.x). Thus, 
                version 1.2.0 accumulates all the additions/changes of the 1.1.x development 
                versions of Artistic Style.
                <li>
                A new '-ol' formatting mode that eliminates breaking of one-line blocks.
                <li>
                Fixed a SERIOUS bug, which resulted in wrong formatting of brackets ('{', '}') 
                that came IMMEDIATELY AFTER definition type brackets, (e.g. brackets that come 
                right after 'class', 'interface', 'name-space', etc ...). This bug was 
                mistakenly introduced when I set out to correctly space-pad pointer and 
                reference signs, somewhere in version 0.9.x .
                <li>
                Fixed unwanted elimination of final empty lines.
                <li>
                Fixed broken indentation of virgin opening-brackets that occur immediately 
                after a previous closing-bracket.
                <li>
                    Fixed space-padding to not insert a space in front of ':' characters unless 
                    they are a part of a '? ... : ' statement.</li>
            </ul>
            <h3>Artistic Style 1.0.5&nbsp;&nbsp; (11 December 1998)</h3>
            <ul>
                <li style="MARGIN-BOTTOM: 0cm">
                'extern' blocks now handled correctly.
                <li style="MARGIN-BOTTOM: 0cm">
                Fixed handling of ^= in '-p' mode.
                <li style="MARGIN-BOTTOM: 0cm">
                    Win32 executables now contain wildcard expansion. *** Look at the README.TXT 
                    for info on how to include wildcard expansion abilities when compiling Artistic 
                    Style under Win32. (Thanks for the info on wildcard-expansion enabling, Nat!!!)</li>
            </ul>
            <h3>Artistic Style 1.0.4&nbsp;&nbsp; (2 December 1998)</h3>
            <ul>
                <li style="MARGIN-BOTTOM: 0cm">
                    Fixed unwanted space-padding around urinary minuses and '-' symbols within 
                    exponents (e.g. 2.5E-5) when using the '-p' option.</li>
            </ul>
            <h3>Artistic Style 1.0.3&nbsp;&nbsp; (1 December 1998)</h3>
            <ul>
                <li style="MARGIN-BOTTOM: 0cm">
                Control characters now remain in the indented file.
                <li style="MARGIN-BOTTOM: 0cm">
                Fixed a bug in which long quoted white-space sequences where mistakenly 
                eliminated in the '-p' mode.
                <li style="MARGIN-BOTTOM: 0cm">
                Fixed unwanted line-breaks in '-ab -p' mode, that in some cases occurred 
                between '//' and the rest of a line comment.
                <li style="MARGIN-BOTTOM: 0cm">
                    Fixed handling of '&gt;&gt;=', '&lt;&lt;= ' in '-p' mode.</li>
            </ul>
            <h3>Artistic Style 1.0.2&nbsp;&nbsp; (27 November 1998)</h3>
            <ul>
                <li style="MARGIN-BOTTOM: 0cm">
                Fixed a SERIOUS bug of missing&nbsp; needed line-breaks in lines immediately 
                after line-comments when in '-ab' mode.
                <li style="MARGIN-BOTTOM: 0cm">
                Support for the 'finally' header.
                <li style="MARGIN-BOTTOM: 0cm">
                    lines that contain only white-space now become empty lines.</li>
            </ul>
            <h3>Artistic Style 1.0.1&nbsp;&nbsp; (26 November 1998)</h3>
            <ul>
                <li style="MARGIN-BOTTOM: 0cm">
                Fixed a SERIOUS bug, which lacked a needed line-break between&nbsp; closing 
                brackets&nbsp; and the headers that follow them (e.g. '} else') when in '-bb' 
                mode. In fixing the bug, I used a variation on a patch sent by Richard 
                Bullington - THANKS!
                <li style="MARGIN-BOTTOM: 0cm">
                Fixed a set of&nbsp; SERIOUS bugs which inserted an empty line into both the 
                start and end of the reindented file.
                <li style="MARGIN-BOTTOM: 0cm">
                    Improved documentation of formatting options in the file astyle.html .</li>
            </ul>
            <h3>Artistic Style 1.0.0&nbsp;&nbsp; (24 November 1998)</h3>
            <ul>
                <li style="MARGIN-BOTTOM: 0cm">
                    Indented files now <b><u>retain the original file name</u></b>, while the 
                    original pre-indented file is saved with a ".orig"at its end. Thus, after the 
                    call "<b>astyle -bb foo.cpp</b>", the newly indented file will be called "<b>foo.cpp"</b>, 
                    while a file called "<b>foo.cpp.orig</b>" will contain the original 
                pre-indented file.
                <li style="MARGIN-BOTTOM: 0cm">
                    Artistic Style may now be used and /or modified and/or distributed under <b>EITHER</b>
                    the <b>"Artistic License"</b>, or the <b>GNU General Public License (GPL).</b>
                <li style="MARGIN-BOTTOM: 0cm">
                Methods with headers that end with 'const' are now properly indented.
                <li style="MARGIN-BOTTOM: 0cm">
                    Cleaner, more robust, and better documented source code.</li>
            </ul>
            <h3>Artistic Style 0.9.2</h3>
            <ul>
                <li style="MARGIN-BOTTOM: 0cm">
                Fixed a serious bug which led to a maximal supported source code line size of 
                128 characters!!!
                <li style="MARGIN-BOTTOM: 0cm">
                Maximal supported line size is now 1024 characters.
                <li style="MARGIN-BOTTOM: 0cm">
                Fixed a serious bug in the handling of brackets inside '#define' statements.
                <li>
                    Fixed a serious bug in which '#include' files containing slashes (i.e. #include 
                    &lt;foo_dir/foo&gt; ) where space-padded when using option '-p' on C, C++ 
                    files.</li>
            </ul>
            <h3>Artistic Style 0.9.1</h3>
            <ul>
                <li style="MARGIN-BOTTOM: 0cm">
                Much improved space-padding around pointers ('*') and references ('&amp;') and 
                the 'operator' key-word&nbsp; in C and C++ source files when using the '-p' 
                space padding option.
                <li style="MARGIN-BOTTOM: 0cm">
                Fixed several pointer handling bugs which led to potential core dumps.
                <li>
                    Version 0.9.1 now includes all the abilities I am planning for the final 1.0 
                    version, and <b><u>should be looked at as the first pre-release version of Artistic 
                            Style</u></b>.</li>
            </ul>
            <h3>Artistic Style 0.9.0</h3>
            <ul>
                <li style="MARGIN-BOTTOM: 0cm">
                    Added a <b>formatting layer</b>
                (ASFormatter.cpp) around the indentation layer (ASBeautifier.cpp).
                <li style="MARGIN-BOTTOM: 0cm">
                As a result, the following formatting capabilities have been added:
                <ul>
					<li style="MARGIN-BOTTOM: 0cm">Bracket ('{' and '}') placement in either ANSI C style or Java style.
                    <li style="MARGIN-BOTTOM: 0cm">Space padding around operators, i.e. (1+2)*3-4 becomes ( 1 + 2 ) * 3 - 4 .</li>
				</ul>
                <li style="MARGIN-BOTTOM: 0cm">
                Fixed the 'tab' elimination bug introduced in ASBeautifier 0.8.2 .
                <li>
                    Fixed a bug which under-indented class headers containing inheritance info.</li>
            </ul>
            <h3>ASBeautifier 0.8.2</h3>
            <ul>
                <li style="MARGIN-BOTTOM: 0cm">
                Fixed indentation problem in brackets around 'struct', and 'union' blocks.
                <li style="MARGIN-BOTTOM: 0cm">
                Added recognition for '\' characters in the end of lines.
                <li style="MARGIN-BOTTOM: 0cm">
                Improved indentation of post-method-declaration variable initializations.
                <li>
                    Several minor bug fixes.</li>
            </ul>
            <h3>ASBeautifier 0.8.1</h3>
            <ul>
                <li>
                    Fixed an important bug in pointer arithmetic which resulted both in phantom 
                    indentation errors, and in core-dumps when trying to indent java files.</li>
            </ul>
            <h3>ASBeautifier 0.8.0</h3>
            <ul>
                <li style="MARGIN-BOTTOM: 0cm">
                This is the first public release of ASBeautifier. It is a direct port to C++ of 
                JSBeautifier 1.1.1, PLUS extensions to for C++ indentation.
                <li style="MARGIN-BOTTOM: 0cm">
                So far, very little beta-testing has been done for the C++ extensions. This 
                should change extremely with the open-source release (this was the case with 
                JSBeautifier...), so expect ASBeautifier to become bug-free fast!!!
                <li>
                    The C++ source code is not yet written in optimal quality. I rushed a little so 
                    that I could release this initial release as soon as possible. This will soon 
                    change.</li>
            </ul>
            <p>&nbsp;</p>
        </blockquote>
    </body>
</html>